package com.fly.mapper;

import com.fly.bean.Pole;
import com.fly.util.Page;
import com.fly.vo.AndPageVO;

import java.util.List;

/**
 * @Auther: Orchid
 * @Date: 2019/11/27 20:03
 * @Description:
 */
public interface PoleMapperO {

    /**
     * 分页查询杠杆信息
     * @param page page实体
     * @return 分页查询数据
     */
    public List<Pole> selectPoleByPage(Page page);

    /**
     * 查询杠杆总数
     * @return 返回总数
     */
    public Integer selectAllPoleCount();

    /**
     * 查询是否存在这个编号
     * @return 返回是否存在
     */
    public Integer selectPoleNoIsExit(Pole pole);

    /**
     * 根据线路id和状态activate分页查询数据
     * @param andPageVO 参数实体
     * @return 结果集合
     */
    public List<Pole> selectPolePageByCirIdAndActivate(AndPageVO andPageVO);

    /**
     * 插入杆塔数据
     * @param pole 杆塔实体
     * @return
     */
    public Integer insertPole(Pole pole);

    /**
     * 修改杆塔状态
     * @param pole 杆塔信息实体
     * @return 结果条数
     */
    public Integer updateActive(Pole pole);

    /**
     * 根据id删除pole
     * @param poleId 杠杆id
     * @return 返回成功条数
     */
    public Integer deleteByPoleId(Integer poleId);

    /**
     * 根据id修改杆塔信息
     * @return 结果条数
     */
    public Integer updatePoleById(Pole pole);

    /**
     * 根据poleId查询杆塔状态配置id
     * @param poleId
     * @return
     */
    public Integer selectSysIdByPoleId(Integer poleId);

    /**
     * 根据id查询具体杆塔信息
     * @param poleId 杆塔id
     * @return 杆塔信息
     */
    public Pole selectPoleByPoleId(Integer poleId);

    /**
     * 根据杆塔id查询杆塔状态是否是停用
     * @param poleNo 杆塔No
     * @return
     */
    public Integer selectCountByPoleActiveDisable(String poleNo);


    /**
     * 查询杆塔是否输入某条线路
     * @param pole 杆塔信息
     * @return
     */
    public Integer selectPoleIsCir(Pole pole);

    /**
     * 根据杆塔编号和id判断编号是否还有其他的杆塔使用
     * @param pole 杆塔信息
     * @return
     */
    public Integer selectPoleNoOtherIsExit(Pole pole);

    /**
     * 查询杆塔是否有正在修改记录
     * @param poleId 杆塔id
     * @return
     */
    public Integer selectPoleIsDamage(Integer poleId);

    /**
     * 判断所属线路是否存在
     * @param poleId
     * @return
     */
    public Integer selectPoleCirIsNull(Integer poleId);

}
